package cn.yh.province.utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * Jedis连接池工具类：
 *      初始化连接池
 *      获取连接
 */
public class JedisUtil {

    private static final JedisPool JEDIS_POOL;

    static {
        // 加载配置文件
        InputStream in = JedisUtil.class.getClassLoader().getResourceAsStream("jedis.properties");
        // Properties 属性集合
        Properties props = new Properties();
        try {
            props.load(in);
        } catch (IOException e) {
            e.printStackTrace();
        }
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(Integer.parseInt(props.getProperty("maxTotal")));
        config.setMaxIdle(Integer.parseInt(props.getProperty("maxIdle")));
        // 初始化连接池
        JEDIS_POOL = new JedisPool(config,
                props.getProperty("host"),
                Integer.parseInt(props.getProperty("port")));
    }

    // 获取连接
    public static Jedis getJedis(){
        return JEDIS_POOL.getResource();
    }

}
